package zw_201_300.zw_278_第一个错误的版本;

/* The isBadVersion API is defined in the parent class VersionControl.
      boolean isBadVersion(int version); */

//public class Solution extends VersionControl {
public class Solution{

    /**
     * 二分法
     * 时间复杂度：O(logn)，其中 n 是给定版本的数量。
     * 空间复杂度：O(1)。我们只需要常数的空间保存若干变量。
     *
     * @param n
     * @return
     */
    public int firstBadVersion(int n) {
        int left = 1, right = n;
        while (left < right) {
            int mid = left + (right - left) / 2;
            if (isBadVersion(mid)) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        return left;
    }




    public static boolean isBadVersion(int n){
        return true;
    };
}

